<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
  // 自执行函数(立即执行函数)
  // 将函数的声明和调用写在了一起,一次性的(没有办法进行复用的)

  // function fn() {
  //   console.log(123);
  // }
  // fn() // 这里的fn就是函数本身

  // (function fn() {
  //   console.log(123);
  // })() // 所以可以直接在函数的后面去添加一个括号执行,前面也需要加一个小括号表示整体

  // !function fn() {
  //   console.log(123);
  // }() // 前面也可以加！等符号
  



  // var name = "zhangsan";
  // console.log(name);
  
  // 避免全局污染(将变量挂载到全局)
  // 避免命名冲突
  // !function() {
  //   var name = "zhangsan";
  //   console.log(name);
  // }()





  !function() {
    function fn(m, n) {
      if (m === 1 || n === 1) {
        return 1;
      }
      return fn(m - 1, n) + fn(m, n - 1);
    }
    console.log(fn(4, 3))

    
  }()

  

</script>